from dotenv import load_dotenv
from checker.base_checker import BaseChecker
from langchain.prompts import StringPromptTemplate

load_dotenv()

"""数码产品checker"""
class DigitalChecker(BaseChecker):


    def getTemplate(self) -> StringPromptTemplate:
        return """作为一个数码产品合规性检查专家，请对以下产品进行全面分析：
            产品名称：{product_name}
            宣传物料：{product_pics}

            请按照以下结构化步骤进行分析：

            1. 基础信息合规筛查
            - 产品标识规范
            必须包含信息：3C认证标志/执行标准编号（GB xxxx）/制造商信息
            禁止内容：伪造认证标识（如虚假CE标志）、篡改能效等级
            - 广告宣传合规
            禁用绝对化用语：唯一/最/独家/100%等（广告法第9条）
            禁止比较性宣传：未经验证的"超越苹果""媲美特斯拉"等表述

            2. 功能宣称真实性核查
            - 性能参数验证
            电池续航：需标注测试条件（如5G网络下连续使用XX小时）
            防水等级：IP68需明确测试标准（如1.5米水深30分钟）
            摄像头参数：像素值不得虚标（需与传感器实际规格一致）
            - 特殊功能认证
            医疗健康相关功能（如血氧监测）需二类医疗器械备案
            无线充电功能需符合Qi标准并标注适用协议

            3. 环保与安全合规
            - 有害物质管控
            RoHS指令符合性：铅/汞等6种有害物质限量达标
            包装材料：需标注可回收标识（GB/T 18455-2010）
            - 数据安全
            预装APP隐私政策：需单独获得用户授权（个人信息保护法）
            生物识别数据：指纹/人脸信息需本地化存储（网络安全法）

            4. 风险评估与改进建议
            - 风险等级判定（低/中/高）
            - 违规类型示例：
            虚假宣传：《反不正当竞争法》第8条
            标识不规范：《产品质量法》第27条
            数据违规：《网络安全法》第41条
            - 整改建议模板：
            修改宣传语："超长续航"改为"典型场景下续航达XX小时（测试标准GB/T 18287）"
            补充认证：申请SRRC无线电发射设备型号核准
            增加免责声明：防水功能标注"非专业潜水设备"        

            示例分析：
                产品名称：AI智能手表X1
                违规点：宣称"医疗级心电监测"但未取得二类医疗器械注册证
                法律依据：《医疗器械监督管理条例》第13条
                改进建议：删除"医疗级"表述，改为"健康监测辅助工具"并添加免责声明
    

        {format_instructions}
      """
  



